In many situations, user communications to and from an enterprise network may be recorded. For example, contact centers will often record communications with agents working therein for quality or training purposes. Session Initiation Protocol (SIP) is a common means for facilitating a packet based communication. However, Web Real-Time Communication (WebRTC) is becoming increasingly popular to increase customer interaction through an enterprises website. Thus, many modern contact centers are now configured to handle WebRTC communications with customers.
While these modern contact centers may be segregated by communication type (e.g. SIP based, WebRTC based, etc.), a contact center may be configured to communicate using multiple communication types. For example, a contact center may be setup such that agents working therein can handle both SIP voice calls and WebRTC calls. Moreover, a contact center will likely record communications between agents and customers for quality, training, or some other purpose. Even if the contact center's communication system is configured to record the SIP communications, it may not be configured to record WebRTC communications.
Overview
Embodiments disclosed herein provide systems and methods for recording WebRTC communications at a network edge. In a particular embodiment a method provides, in an edge system of a communication network, receiving identification information that identifies a first endpoint and a second endpoint between which a first WebRTC communication will be established. The method further provides establishing the first WebRTC communication between the first and second endpoints through the edge system using the identification information. Also, the method provides identifying packets for the first WebRTC communication and recording the packets to a storage system.
In some embodiments, the first WebRTC communication comprises a secured WebRTC communication having a first unique fingerprint attribute for the first endpoint, a second unique fingerprint attribute for the second endpoint, and a third unique fingerprint attribute for the edge system. Also, the identification information comprises the first and second unique fingerprint attributes.
In some embodiments, the method further provides transferring the third unique fingerprint attribute from the edge system to the first and second endpoints, wherein the edge system terminates the first WebRTC communication between the first and second endpoints.
In some embodiments, the identification information is received from a WebRTC application system that facilitates the first WebRTC communication.
In some embodiments, recording the packets to the storage system comprises establishing a second WebRTC communication between the edge system and a recording system having the storage system. Additionally, in those embodiments, the method provides transferring copies of the packets from the edge system to the recording system as part of the second WebRTC communication.
In some embodiments, the method provides transferring additional information related to the first WebRTC communication to the recording system via a signaling session with a WebRTC application system that facilitates the first WebRTC communication.
In some embodiments, recording the packets to the storage system comprises transferring copies of the packets using Real-time Transport Protocol (RTP) to a recording system having the storage system and including a first instruction to start recording in an RTP extension of at least the first RTP packet of the copies of the packets that are transferred. In those embodiments, the recording system monitors RTP packets for instructions in the RTP extension and begins storing the copies of the packets upon detecting the first instruction.
In some embodiments, recording the packets to the storage system further comprises, after at least the first RTP packet is transferred, including a second instruction to stop recording in the RTP extension of at least a second RTP packet of the copies of the packets. In those embodiments, the recording system stops storing the copies of the packets upon detecting the second instruction.
In some embodiments, the first instruction is included in the first two or more RTP packets of the copies of the packets that are transferred.
In some embodiments, the method provides including additional information related to the first WebRTC communication in the RTP extension.
In another embodiment, an edge system comprising a communication interface and a processing system is provided. The communication interface is configured to receive identification information that identifies a first endpoint and a second endpoint between which a first WebRTC communication will be established and establish the first WebRTC communication between the first and second endpoints through the edge system using the identification information. The processing system is configured to identify packets for the first WebRTC communication and record the packets to a storage system.